home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u584.dms / u584.adf / BX.Doc < prev    next >
Text File  |  1991-02-18  |  19KB  |  547 lines

  1.                           BootX v3.50 User Manual
  2.  
  3.                               January 30, 1990
  4.  
  5.                          Requires the arp.library
  6.  
  7. DISCLAIMER
  8.  
  9. BootX has been thoroughly tested and is the result of a constant process of
  10. changes and updates that started in April 1989.  The program has proven to
  11. be stable in everyday use.  The author is not responsible for any loss of
  12. data, damages to software or hardware that may result directly or
  13. indirectly from the use of this program.
  14.  
  15. The BootX package consists of:
  16.  
  17.         BootX3.50               The program file
  18.         BootX.BBLib             The BootX bootblock library
  19.         BootX.Brain             An example of a brainfile
  20.         BootX3.50.doc           This file
  21.  
  22. Note that the BootX.BBLib nor the BootX.Brain files are required to run the
  23. program.  BootX will display an errormessage when either of these two files
  24. are not found.  See further.
  25.  
  26. This documentation will always be updated at the top.  Users of previous
  27. versions of BootX need only read the paragraphs reflecting the changes
  28. since their last version.
  29.  
  30.  
  31. Changes from BootX v3.40
  32. ------------------------
  33.  
  34. - Expanded the memory checker
  35. - Fixed a bug in the error exit routine (in case the arp.library wasn't
  36.   found)
  37. - Rewrote the CheckFiles routine again to use a FIFO software stack instead
  38.   of being recursive.  CheckFiles can be interrupted again by pressing any
  39.   mousebutton.
  40. - Fixed a bug in the name printing routine of the linkviruses.  I
  41.   accidentally switch the arguments for _LVOPrintf.
  42. - Added a lot of new recog ID's for bootblockviruses.
  43. - BootX v3.50 now recognizes 10 linkviruses:
  44.         IRQ                     Butonic
  45.         BSG-9 (TTV1)            CCCP
  46.         Lamer Exterminator      Jack
  47.         Xeno                    Centurion
  48.         Disaster Master         TTV1 2
  49. - Special thanks go to Erik Løvendahl Sørensen for giving me access to his
  50.   virus databank.  For more information and Erik's address, refer to the
  51.   bottom of this doc file.
  52.  
  53.  
  54. Changes from BootX v3.30
  55. ------------------------
  56.  
  57. - Added a check for the Peter Stuer Anti-Virus 3.0 bootblock
  58. - Cleanup up a lot of the code
  59. - Squashed some potential bugs
  60. - Completely rewrote the LinkVirusCheck routine to use a client call-back
  61.   function.
  62. - Completely rewrote the MemoryCheck routine and added a few more vectors
  63.   to check.
  64. - Added checks for 2 more bootblocks and 7 more bootblockviruses
  65. - Added checks for several new linkviruses.
  66. - Rewrote the BootBlock library routines
  67. - BootX now detects if another copy is running. This was asked by some
  68.   users who always forgot they still had a dormant copy of BootX hanging
  69.   around on the Workbench.
  70. - For users of the SetPatch -r option BootX now asks if it is allright to
  71.   reset any memory vectors.
  72. - More vectors are shown that are potential targets for viruses.
  73. - Fix a bug in the View Brainfile option.
  74. - Fix a bug in the Save Brainfile option.
  75. - Added the Merge Brainfile option:
  76.   Since version 3.30 BootX has been able to create brainfiles. This option
  77.   allows you to 'merge' a brainfile you got from a friend. BootX takes care
  78.   of all the details. It won't add any signatures that already exist. You
  79.   select the brainfile you wish to merge in the ARP file requester. Merging
  80.   occurs in memory, so don't forget to save the updated brainfile (BootX
  81.   will warn you though.
  82. - Fixed a bug in the startup code. BootX now uses the same current
  83.   directory as the CLI it was started from.
  84. - Added the Quit menuitem
  85.  
  86.  
  87. Changes from BootX v3.20 (The big one)
  88. --------------------------------------
  89.  
  90. - Fixed a bug in the font name. BootX should now always use the Topaz 80
  91.   font (Hopefully).
  92. - Fixed a bug in the startup code.
  93. - Optimized the code completely
  94. - BootX now checks for viruses on startup
  95. - Completely rewrote the MemoryCheck routine
  96. - All information is now printed using a console (Now I can use formated
  97.   output for several functions. For the Amiga programmers: I understand
  98.   the RawDoFmt() function now (at last)).
  99. - Completely rewrote the link virus check routine. It can be stopped by
  100.   pressing the left mousebutton.
  101. - BootX tries to reconise a bootblock that is loaded.
  102. - Added checks for PVL Virus Protector 6.5 and Anti-Virus 2.0 and added
  103.   both to the built-in bootblocks.
  104. - Removed some of the spelling errors from this doc file
  105.  
  106. Changes from BootX v3.1
  107. ------------------------
  108.  
  109. - Fixed a bug in the new recognition routine.
  110.  
  111. Changes from BootX v3.0
  112. -----------------------
  113.  
  114. - Some internal code optimizations.
  115. - Added Anti-Virus 1.0 from Peter Stuer.
  116. - Finally removed the NorthStar 2 bootblock from the installable bootblocks.
  117.  
  118. Changes from BootX v2.9
  119. -----------------------
  120.  
  121. - Reformated this doc file so it can be read from the CLI using type.
  122. - The detection on/off switch now flashes when it is selected.
  123. - Added a new bootblock to the recog list.
  124. - Added my own viruschecker to the installable bootblocks:
  125.  
  126.         Thor Anti-Virus v1.0
  127.  
  128. When you boot a disk with this bootblock, it first checks the ExecBase
  129. vectors that are most likely to change when a virus installs itself.  For
  130. the programmers among you:  ColdCapture, CoolCapture (WarmCapture isn't
  131. supported in KickStart1.2 and 1.3), KickMemPtr, KickTagPtr and
  132. KickCheckSum.  OldOpenLibrary (IRQ Virus) and PutMsg or DoIO are not
  133. checked because these vectors are reset upon booting.  When nothing
  134. suspicious is found, a title picture is shown signaling everything is OK.
  135. You can either wait or click the left mousebutton to continue.  When Thor
  136. Anti-Virus v1.0 finds something in the above mentioned vectors the screen
  137. flashes red for a short period.  It is up to you to react within this
  138. period and click the right mousebutton.  When you NOTHING is changed and
  139. all vectors are left alone.  I put in this option because some programs
  140. (TurboPrint, ATool) use these vectors to stay resident.  Note that there is
  141. no way telling wheter there is a virus in memory or some useful resident
  142. code.  When you don't press the right mousebutton, Thor Anti-Virus resets
  143. ExecBase and TRASHES any code found in the Resident vectors.  I found this
  144. the only effective way of killing a Resident structure in this little code.
  145. I know its not pretty but its damn effective !!!  The Amiga then resets as
  146. if nothing happened.  Normally you should only get the title screen then.
  147. Thor Anti-Virus v1.0 works completely legally, that is reserving memory for
  148. its screen and structure, so it should be compatible with KickStart 1.3 and
  149. 1.4(?).  I have not had a chance to try this out.  If you have any problems
  150. please let me know.
  151.  
  152.  
  153.  
  154. Short introduction
  155. ------------------
  156.  
  157. BootX v3.50 is an attempt to make the ultimate viruskiller.  BootX v3.50 is
  158. fast (written completely in assembler), small and tries to be as user
  159. friendly as possible (use of the arp.library).
  160.  
  161. This program is freeware.  It can be copied by anyone except for commercial
  162. use as long as this documentation file and the program icon accompanies the
  163. program.  Note that this program requires the Arp library to run.  No
  164. source code accompanies this program for the obvious reason that everybody
  165. would be able to change the checking algorithm.
  166.  
  167. If you find any new viruses or linkviruses that BootX does not recognize
  168. yet, please send them on a disk to me (my address is at the bottom of this
  169. document).  I will return the disk to you with an updated copy of BootX.
  170.  
  171.                                                              P. Stuer
  172.  
  173.  
  174. How to start BootX v3.50
  175. ------------------------
  176.  
  177. BootX v3.50 (from here on referred to as BootX) was written to be used by
  178. both beginners and experienced users.  BootX can be started both from CLI
  179. and the Workbench.
  180.  
  181.  
  182. Starting BootX from the CLI
  183.  
  184. To start BootX from the CLI simply type:
  185.  
  186.         1> BootX3.50
  187.  
  188. followed by a return.  This loads the BootX program and starts it.  BootX
  189. then detaches itself from the CLI.  This means that you can start BootX,
  190. bring the Workbench screen back to the front and then close the CLI window
  191. with the EndCLI command.
  192.  
  193.  
  194. Starting BootX from the WorkBench
  195.  
  196. This is the easy part.  Simply click on the accompaning icon and BootX
  197. starts.
  198.  
  199.  
  200.  
  201. How to use BootX v3.50
  202. ----------------------
  203.  
  204. A lot of viruscheckers and viruskillers are already written for the Amiga
  205. but none of them offered all the features I needed.  Hence the various
  206. disks offering several different programs for doing the job.  Enters BootX.
  207.  
  208. BootX can check the bootblock of a disk, check memory for any resident
  209. viruses and scan a disk for linkviruses.  It can load bootblock libraries
  210. for you to write on your disks as an alternative for the boring DOS Install
  211. bootblock.  It can load "brain files" so you can add any new bootblocks
  212. that BootX does not recognise yet.
  213.  
  214. Let's start a guided tour of the screen.  The main screen offers several
  215. gadgets (I hate menus when I want to work fast).  Just click the
  216. appropriate gadget to perform an action.
  217.  
  218. Quit
  219.  
  220.         Does just what the gadget says:  it releases all used memory and
  221. quits the program.
  222.  
  223.  
  224. Read to buffer
  225.  
  226.         This gadget explicitly instructs BootX to read the bootblock from
  227. the current selected drive into the buffer.  Normally BootX detects when a
  228. new disk is inserted and automatically reads its bootblock.  But some old 5
  229. 1/4 drives don't support automatic diskchange.  This gadget can also be
  230. used to read the bootblock after another programs has modified the
  231. bootblock.
  232.  
  233.  
  234. Write to buffer
  235.  
  236.         Here you instruct BootX to write the bootblock currently in the
  237. buffer to the selected drive.  BootX maintains a buffer that holds the last
  238. read bootblock.  This buffer is also visible in the large display window in
  239. semi-ASCII form (more about this later).  The buffer allows you to read a
  240. bootblock from one disk and then copy it to another.
  241.  
  242.  
  243. The 4 drive gadgets
  244.  
  245. You can connect 4 disk drives to the Amiga.  BootX checks how many drives
  246. are connected to the Amiga and installs a gadget for every one of them.
  247. When a drive is not found the gadget will read "N/A":  not available.  Note
  248. that although a drive is connected the Amiga will not recognize its
  249. presence when it is turned off (only applicable for external drives).
  250.  
  251.  
  252. Install BootBlock
  253.  
  254. Here you can write the selected built-in bootblock to the bootblock of the
  255. current drive.
  256. When no bootblock library is loaded only the normal Install v1.3 bootblock
  257. is available.  At startup BootX looks for a file called "BootX.BBLib" in
  258. the directory from which BootX started.  It contains several alternative
  259. bootblocks. It is possible to load another bootblock library using the
  260. "Load bootblock library" menuitem (see further).
  261.  
  262.  
  263. Next and Previous
  264.  
  265. These gadgets show the next or the previous bootblocks in the currently
  266. loaded bootblock library.  If no library is loaded, only the normal Install
  267. 1.3 bootblock will be available.  Among the bootblocks are the normal DOS
  268. bootblock, Ralph Babel's Install2 and several others.  Thanks to all groups
  269. and programmers whose bootblock I included.  Note however that when you
  270. press Next and Previous the bootblock buffer is not updated.
  271.  
  272.  
  273. BootBlock window
  274.  
  275. This window shows the name of the selected built-in bootblock.
  276.  
  277.  
  278. Message window
  279.  
  280. This window reports messages and errors resulting from the various
  281. operations.
  282.  
  283.  
  284. Main display window
  285.  
  286. Shows the bootblock currently in the buffer in semi-ASCII representation.
  287. Only the readable characters are shown.  This allows you to check for
  288. readable text signifying the nature of the bootblock when BootX reports
  289. "Unknown bootblock".
  290.  
  291.  
  292. About
  293.  
  294. Display information about BootX and the version number.  Always try to get
  295. the latest version available to have optimum virus protection.
  296.  
  297.  
  298. Load from/Save to file
  299.  
  300. BootX can save the bootblock in the buffer to any valid Amiga device.
  301. 'Save to file' can be used to save the bootblocks of games, mega demos and
  302. other programs to a separate data disk.  In case of a virus attack or a bad
  303. disk you can load the previously saved bootblock back in the buffer and
  304. write it back to the original disk.  Note:  no checking is done on the
  305. loaded bootblock.  So it is possible to load f.i.  the parallel.device and
  306. write it to the boot block.  This allows you to write self-made bootblock
  307. to the disk.  BootX now asks you if it should correct the bootblock
  308. checksum when it is wrong.
  309.  
  310.  
  311. Memory check
  312.  
  313. Checks the memory for any known virus ignoring all known resident virus
  314. checkers.  When BootX finds a virus it will display an Alert identifying
  315. which virus was in memory and will try to kill it.  BootX also removes any
  316. known linkvirus from memory.
  317.  
  318. BootX also shows some important vectors from Execbase in the main display
  319. window.  These vectors are mostly altered by viruses.  A normal vector will
  320. be display in white.  When BootX thinks that something is not normal it
  321. will display the vector in white on red.  Note that this not necessarily
  322. means that there is a virus in memory.  Resident programs as f.i.
  323. TurboPrint use these vectors too.  I will try to keep BootX's knowledge
  324. base as up to date as possible.  In case of doubt, save all data and
  325. cold-start the Amiga, that is, turn of the power and wait a few seconds
  326. before turning it on again.
  327.  
  328.  
  329. Goto sleep
  330.  
  331. Closes the main BootX screen and releases as much memory as possible.  A
  332. small window on the workbench screen is opened showing that you that BootX
  333. is still in memory.  In this state BootX uses no CPU time and just waits
  334. for you to make the window active and click in it with the menu button (the
  335. right mouse button).  Then the main BootX screen and window is opened again
  336. and you can go on again.  BootX does not unload a brain file or a bootblock
  337. library.  Also, when asleep BootX doesn't do any checking ( like VirusX
  338. does).  I did this on purpose.  There is no need to continuously keep
  339. checking every disk that is inserted.  Just check them once to make sure
  340. there virus-free.
  341.  
  342.  
  343. Kill LinkVirus
  344.  
  345. This gadget pops up the file requester for you to specify a device to
  346. search for linkviruses.  In the current version this can only be a device.
  347. Later version will support directory and file checking (NOTE:  as of BootX
  348. v3.40 directories can be specified also).  When you select OK BootX starts
  349. searching for linkviruses in any executable file it encounters.  Note that
  350. the complete disk is searched.  In case BootX finds a link virus you are
  351. given the option to remove it from the infected file.  BootX removes the
  352. linkvirus and save the file under the same name with an extension ".bx".
  353. Currently only the IRQ and the TTV1 linkviruses are checked for (NOTE:
  354. BootX 3.40 and higher recognize more linkviruses).
  355.  
  356.  
  357. Help
  358.  
  359. This gadget toggles the help feature.  When it is turned on you can click
  360. any gadget to get a short help message about its function.  Click Help
  361. again to turn off the help feature.
  362.  
  363.  
  364. Detection on/off
  365.  
  366. This gadget works as an on/off switch.  It turns off diskchange detection.
  367. Sometimes it is not useful to have BootX read the bootblock of every disk
  368. you insert, especially when you have a bootblock in the buffer you wish to
  369. write to another disk.  This gadget allows one drive user to copy
  370. bootblocks.
  371.  
  372. Learn
  373.  
  374. Clicking this gadget prompts you for a name when BootX does not known the
  375. bootblock in the buffer yet.  Enter an empty string when you want to cancel
  376. the operation.  BootX then adds the bootblock to the current brain file (if
  377. present).  Else it makes a brain file in memory.
  378.  
  379.  
  380. The Menu
  381. --------
  382.  
  383. Load Bootblock library
  384.  
  385. Selecting this menuitem (or the key combination Right-Amiga-B) allows you
  386. to load another bootblock library than the default BootX.BBLib
  387.  
  388.  
  389. Load Brainfile
  390.  
  391. Selecting this menuitem (or the key combination Right-Amiga-L) allows you
  392. to load another brainfile than the default BootX.Brain.  BootX will load
  393. only valid brainfiles.  Before loading it asks you if you want this
  394. brainfile to replace the one in memory.
  395.  
  396.  
  397. Save Brainfile
  398.  
  399. Selecting this menuitem (or the key combination Right-Amiga-S) allows you
  400. to save the brainfile that is currently in memory.
  401.  
  402.  
  403. Learn Bootblock
  404.  
  405. Selecting this menuitem (or the key combination Right-Amiga-A) is the same
  406. as clicking on the Learn gadget (see higher).
  407.  
  408. I realize this documentation is brief but I made BootX to be as intuitively
  409. as possible.  BootX is updated frequently to recognize new bootblocks and
  410. viruses.
  411.  
  412. These are the bootblocks and bootviruses BootX v3.50 recognizes:
  413.  
  414. 16 Bit Crew virus 
  415. ACID Virus Terminator 1.0
  416. Alien New Beat virus 
  417. Anti-Virus BootBlock v1.0
  418. Anti-Virus BootBlock v2.0
  419. Anti-Virus BootBlock v3.0
  420. ASS Virus Protector 1.0
  421. ATOM VirKill v2.0
  422. Australian Parasite virus 
  423. Avirex bootblock
  424. Avirex Time Bomb 1.0 
  425. BlackFlash 2.0 virus 
  426. Blizzard Protector v1.0
  427. Boot Menu v2.0 by Peter Stuer
  428. Boot Menu v3.0 by Peter Stuer
  429. BooTune 1.2
  430. Butonics (BAHA) virus 
  431. Byte Bandit virus 
  432. Byte Bandit virus (Forpib mutant) 
  433. Byte Warrior or DASA virus 
  434. CCCP virus 
  435. CCS Boot v2.0
  436. Claas Abraham virus 
  437. Cleared DOS Disk
  438. CList virus 
  439. Coder's Nightmare virus 
  440. Destructor 1.2 virus 
  441. DevWare Anti-Virus bootblock
  442. Dietmar Noll Viruschecker
  443. Digital Emotions virus 
  444. Disk Herpes (Phantastograph) virus 
  445. DiskDoktors virus 
  446. DiskGuard 1.0 
  447. DOC Memory & Drive killer 
  448. F.A.S.T. virus 
  449. F.I.C.A. virus 
  450. Gadaffi virus 
  451. Graffiti virus 
  452. Gremlins virus 
  453. GX Team virus 
  454. HCS 4220 Anti-Virus bootblock
  455. Install 2 by Ralph Babel
  456. Installed DOS Disk
  457. JITR (Atari) virus 
  458. Joshua 2 virus 
  459. Joshua virus 
  460. Jungle Command Bootleg
  461. Kruki virus 
  462. Lamer Exterminator virus 
  463. MegaMaster virus 
  464. Microsystems virus 
  465. Obilisk virus 
  466. Opapa virus 
  467. PvL Sound Bootblock
  468. PvL Virus Protector 5.0
  469. PvL Virus Protector 5.4
  470. PvL Virus Protector 6.0
  471. PvL Virus Protector 6.1
  472. PvL Virus Protector 6.3
  473. PvL Virus Protector 6.4
  474. PvL Virus Protector 6.5
  475. Razor 1911 Memory Controller
  476. Replica Copy Crew Utility Boot 5.0 
  477. Revenge Bootblock Loader virus 
  478. Revenge virus v1.2 
  479. SCA virus 
  480. SCA Virus Protector v1.0
  481. SCA virus: BS1 mutant 
  482. SCA virus: DAG mutant 
  483. SCA virus: Iceman mutant 
  484. SCA virus: LSD mutant 
  485. SCA virus: Micro Master mutant
  486. Scarface virus 
  487. Sendarian virus 
  488. Sinister Syndicate virus 
  489. StarFire 2
  490. StarFire/NorthStar Antivirus 1.0 
  491. StarFire/NorthStar Antivirus 2.0 
  492. Supply Team Viruskiller 
  493. Switch Off virus 
  494. System Z Virus Protector v3.0
  495. System Z Virus Protector v4.0
  496. Target virus 
  497. Termigator virus 
  498. The Outlaw Virus Checker 1.42
  499. The Pentagon Circle VirusSlayer 
  500. Thor Anti-Virus 1.0
  501. Thor Menu Boot v2.0
  502. TIB Bootblock Copy
  503. TIP Installed Disk
  504. TIP Memory Allocator 1.3
  505. TIP Memory Controller 1.2
  506. TIP Memory Controller 1.3
  507. TIP NoFastMem BootBlock 1.1
  508. TRISTAR Viruskiller v1.3
  509. Turk virus 
  510. UltraFox virus 
  511. Uninstalled DOS Disk
  512. USI Bootwriter
  513. Virus (Name unknown) 
  514. Virus Destructor 1.0
  515. Virus Destructor 2.0
  516. Virus Predator (Spain) 
  517. VKill virus 
  518. Warhawk virus 
  519. X-Copy II boot
  520.  
  521.  
  522. Peter Stuer
  523. Kauwlei 21
  524. B-2550 Kontich
  525. Belgium - Europe
  526.  
  527.  
  528.  
  529. ::: Virus Data Bank for programmers ::::::::::::::::::::::::::::::::::::::
  530.  
  531.  
  532. Erik Løvendahl Sørensen has been keeping track of boot- and linkviruses on
  533. the Amiga.  He has started a data bank with international support that is
  534. open for viruskiller programmers to use and contribute to.  For more
  535. information contact Erik at:
  536.  
  537. Erik Løvendahl Sørensen
  538. Snaphanevej 10
  539. 4720 Præstø
  540. Denmark
  541. Phone: + 45 53 79 25 12
  542.  
  543.                          _
  544.                       _ //
  545.             Thanks to \X/ Amiga for being the best computer ever !
  546.             Thanks to BSB for beta testing and giving useful comments.
  547.